Database migration is the moving of database data from one database to another, typically involving some format change or other modification in at least some of the data. Such migration may be performed for a number of reasons. For example, different database applications may store the same types of data differently in database tables, so transitioning from one database application to another may necessitate a migration of database data to a format usable by the newer database application. In another example, upgrading a database application from an older version to a newer version may also involve changes in the way particular types of data are stored in the database, thus causing a similar migration to be undertaken. Even if a customer continues to employ a particular version of a database application over a long period of time, a change in operating system, computer system hardware, or other aspect of the computing environment may result in a nontrivial database migration that involves changes in data format and other aspects of the database. Generally, database and other software providers have made available a number of migration tools to address a variety of migration needs and environments.
Customers generally consider two characteristics of the migration process to be of primary importance. At the least, the migration is to result in data consistency, in which the database data after the migration represents the same data as the database data prior to the migration. Data consistency is often proven, at least to some degree, by way of a number of consistency checks executed during and/or after the migration. In addition, the migration process is often at least partially executed during a downtime of the database application, during which the database data is unavailable for customer use. As a result, customers often consider the speed at which the migration progresses, including any associated consistency checking, to be of particular importance.